home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 4 / 64er_Magazin_Sonderheft_04_86-04_1986_Markt__Technik_de_Disk_1_of_2_Side_A.d64 / listing 15.d (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  705b  |  16 lines

  1. 1000 rem binaere suchroutine ---------------------------------------------------
  2. 1005 inputsu$  :rem suchbegriff
  3. 1010 n=int(log(sz)/log(2))+1                           :rem maximal-formel
  4. 1040 sa=(2^n)/2:rem mitte der ges.dat
  5. 1050 n=n-1     :rem 1.abfrage
  6. 1100 :
  7. 1110 : ifsu$=d$(sa)thenprint"su$ steht in satz ";sa:end:rem su$ gefunden
  8. 1120 : ifsu$<d$(sa)thensa=sa-(2^(n-1)):goto1200        :rem ''halbieren''
  9. 1125 : ifsa+(2^(n-1))>szandn>-1thenn=n-1:goto1125      :rem ''ueberlauf''
  10. 1130 : sa=sa+(2^(n-1))                                 :rem ''halbieren''
  11. 1200 :
  12. 1210 :n=n-1    :rem naechst. halbieren
  13. 1220 :ifn<0thenprint"su$ gibt's nicht! in 1220":end    :rem su$ nicht in datei
  14. 1225 print"sa=";sa;" n=";n                             :rem unnoetig !!
  15. 1230 :goto1100 :rem naechst. such-vers.
  16.